case class FreeF[F[_], A](r: (A => ?) ~> F)